package com.ayf.payment.game.api.service;

import com.ayf.payment.game.api.dto.alipay.AliOrderResult;
import com.ayf.payment.game.api.dto.alipay.MerchantAlipayOrderDTO;
import com.ayf.payment.game.api.dto.criteria.MerchantAlipayOrderCriteria;
import com.ayf.payment.game.api.entity.MerchantAliBatchPayFile;
import com.ayf.payment.game.api.entity.MerchantAliBatchPayFileFailReason;
import com.ayf.payment.game.api.entity.MerchantAlipayOrder;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface MerchantAlipayOrderService {

    boolean updateOrderStatus(AliOrderResult aliOrderResult);

    void save( MerchantAlipayOrderDTO dto);

    MerchantAlipayOrder getRealTimePayOrder(String mMerchantOrderNo);

    @Transactional
    boolean addAliPayOrder(MerchantAlipayOrderDTO dto);

    @Transactional
    boolean bathAddAliPayOrder(List<MerchantAlipayOrder> list, List<MerchantAliBatchPayFileFailReason> failList, MerchantAliBatchPayFile batchPayFile);

    List<MerchantAlipayOrderDTO> list(MerchantAlipayOrderCriteria criteria);

}